package pers.qianyu.module.system.service;

import com.baomidou.mybatisplus.extension.service.*;
import pers.qianyu.module.core.comm.*;
import pers.qianyu.module.core.domain.system.dto.*;
import pers.qianyu.module.core.domain.system.entity.*;
import pers.qianyu.module.core.domain.system.query.*;
import pers.qianyu.module.core.domain.system.vo.*;

import java.util.*;

/**
 * @author mizzle rain
 * @date 2020-11-13 12:21
 */
public interface SysUserRoleService extends IService<SysUserRolePO> {
    /**
     * 根据用户 id 查询对应的角色
     *
     * @param userId 用户id
     * @return 角色列表
     */
    List<SysRoleVO> queryByUserId(Long userId);

    /**
     * 插入用户角色关系，即给用户赋权
     *
     * @param sysUserRoleDTO
     */
    void insUserRole(SysUserRoleDTO sysUserRoleDTO);

    /**
     * 删除用户权限
     *
     * @param sysUserRoleDTO
     */
    void delAuthUserRole(SysUserRoleDTO sysUserRoleDTO);

    /**
     * 查询拥有该角色的所有用户
     *
     * @param sysUserRoleQuery
     * @return
     */
    Pagination<SysUserVO> queryByRoleId(SysUserRoleQuery sysUserRoleQuery);
}
